// import Home from '@/pages/Home'
// const Home = () => import('@/pages/Home')
//1、import 是同步引入的,不能做动态引入
//2、import 函数专门用来做动态引入
 //  import函数除了可以动态引入，也可以让打包的时候单独打包
// import Search from '@/pages/Search'
const Search = () => import('@/pages/Search')


import Login from '@/pages/Login'
import Register from '@/pages/Register'
import Detail from '@/pages/Detail'
import AddCartSuccess from '@/pages/AddCartSuccess'
import ShopCart from '@/pages/ShopCart'
import Trade from '@/pages/Trade'
import Pay from '@/pages/Pay'
import PaySuccess from '@/pages/PaySuccess'
import Center from '@/pages/Center'
import MyOrder from '@/pages/Center/MyOrder'
import GroupOrder from '@/pages/Center/GroupOrder'





// function fn(){
//   // import Home from '@/pages/Home'
//   import('@/pages/Home')
// }
// fn()

export default [
  {
    path:'/center',
    component:Center,  //这里就在注册路由组件
    children:[
      {
        // path:'/center/myorder',
        path:'myorder',
        component:MyOrder
      },
      {
        path:'grouporder',
        component:GroupOrder
      },
      {
        path:'',
        redirect:'myorder'
      }
    ]

  },
  {
    path:'/paysuccess',
    component:PaySuccess,  //这里就在注册路由组件
    // 路由独享守卫
    beforeEnter: (to, from, next) => {
      // 只有从购物车界面才能跳转到交易页面
      if(from.path === '/pay'){
        next()
      }else{
        alert('只有从支付界面才能跳转到支付成功页面')
        next(false)
      }
    }
  },
  {
    path:'/pay',
    component:Pay,  //这里就在注册路由组件
    // 路由独享守卫
    beforeEnter: (to, from, next) => {
      // 只有从购物车界面才能跳转到交易页面
      if(from.path === '/trade'){
        next()
      }else{
        alert('只有从交易界面才能跳转到支付页面')
        next(false)
      }
    }
  },
  {
    path:'/trade',
    component:Trade,  //这里就在注册路由组件
    // 路由独享守卫
    beforeEnter: (to, from, next) => {
      // 只有从购物车界面才能跳转到交易页面
      if(from.path === '/shopcart'){
        next()
      }else{
        alert('只有从购物车界面才能跳转到交易页面')
        next(false)
      }
    }
  },
  {
    path:'/shopcart',
    component:ShopCart  //这里就在注册路由组件
  },
  {
    path:'/addcartsuccess',
    component:AddCartSuccess,  //这里就在注册路由组件
    // 路由独享守卫
    beforeEnter: (to, from, next) => {
      // 只有携带了skuNum和sessionStorage内部有skuInfo数据
      let skuNum = to.query.skuNum
      let skuInfo = sessionStorage.getItem('SKUINFO_KEY')
      if(skuNum&&skuInfo){
        next()
      }else{
        alert('skuNum和skuInfo必须携带')
        next(false)
      }
    }
  },
  {
    path:'/detail/:skuId',
    component:Detail  //这里就在注册路由组件
  },
  {
    path:'/home',
    component:() => import('@/pages/Home'),
    // component:Home
    //注册的时候可以是组件，也可以是个函数
    //这里就在注册路由组件
  },
  {
    path:'/search/:keyword?',
    component:Search,  //这里就在注册路由组件
    name:'search', //命名路由
    //第一种：布尔值，只能映射params为组件的属性
    // props:true, //额外的把params参数单独映射为组件内的属性
    //第二种：对象
    // props:{username:'zhaoliying'} //映射无关额外的数据为组件的属性
    //第三种：函数   可以同时把params和query参数都映射为组件内的属性
    // props(route){
    //   return {keyword:route.params.keyword,keyword1:route.query.keyword1}
    // }
    

    // params:{
    //   keyword:'aa'
    // },
    // query:{
    //   keyword1:'AA'
    // }
  },
  {
    path:'/login',
    component:Login,  //这里就在注册路由组件
    meta:{
      isHidden:true
    }
  },
  {
    path:'/register',
    component:Register,  //这里就在注册路由组件
    meta:{
      isHidden:true
    }
  },
  // 重定向路由
  {
    path:'/',
    redirect: '/home'
  }
]